-- stack: in.5 -- format: 8 (HyperCard 1) -- flags: 0x9000 (can't modify) -- protect password hash: 0 -- maximum user level: 5 (scripting) -- window: Rect(x1=0, y1=0, x2=0, y2=0) -- screen: Rect(x1=0, y1=0, x2=0, y2=0) -- card dimensions: w=0 h=0 -- scroll: x=0 y=0 -- background count: 4 -- first background id: 5283 -- card count: 53 -- first card id: 18126 -- list block id: 2932 -- print block id: 0 -- font table block id: 0 -- style table block id: 0 -- free block count: 0 -- free size: 0 bytes -- total size: 457088 bytes -- stack block size: 5632 bytes -- created by hypercard version: 0x01258000 -- compacted by hypercard version: 0x01258000 -- modified by hypercard version: 0x01258000 -- opened by hypercard version: 0x01258000 -- patterns[0]: 0x0000000000000000 -- patterns[1]: 0x8000000008000000 -- patterns[2]: 0x8800220088002200 -- patterns[3]: 0x8888222288882222 -- patterns[4]: 0x88AA22AA88AA22AA -- patterns[5]: 0xCCAA33AACCAA33AA -- patterns[6]: 0xEEAABBAAEEAABBAA -- patterns[7]: 0xEEBBBBEEEEBBBBEE -- patterns[8]: 0xFFBBFFEEFFBBFFEE -- patterns[9]: 0xFFBBFFFFFFBBFFFF -- patterns[10]: 0x8010022001084004 -- patterns[11]: 0xFFFFFFFFFFFFFFFF -- patterns[12]: 0x8822882288228822 -- patterns[13]: 0x1122448811224488 -- patterns[14]: 0xC4800C6843023026 -- patterns[15]: 0xB130031BD8C00C8D -- patterns[16]: 0xAA00AA00AA00AA00 -- patterns[17]: 0x8822552288225522 -- patterns[18]: 0x8855225588552255 -- patterns[19]: 0x77DD77DD77DD77DD -- patterns[20]: 0x8000000000000000 -- patterns[21]: 0xAA55AA55AA55AA55 -- patterns[22]: 0x038448300C020101 -- patterns[23]: 0x8244394482010101 -- patterns[24]: 0x8814224188412214 -- patterns[25]: 0x8080413E080814E3 -- patterns[26]: 0x22048C7422179810 -- patterns[27]: 0xBE808808EB088880 -- patterns[28]: 0x25C8328964244C92 -- patterns[29]: 0xA29C41BE2AC914EB -- patterns[30]: 0x40A00000040A0000 -- patterns[31]: 0x8040200002040800 -- patterns[32]: 0xAA00800088008000 -- patterns[33]: 0xFF80808080808080 -- patterns[34]: 0x081C22C180010204 -- patterns[35]: 0xFF808080FF080808 -- patterns[36]: 0xF87422478F172271 -- patterns[37]: 0xBF00BFBFB0B0B0B0 -- patterns[38]: 0xFF7FBE5DA2418000 -- patterns[39]: 0xFAF5FAF5A050A050 -- checksum: 0x0 ----- HyperTalk script ----- -- Support Tools eXternals 1.2.5 -- copyright © 1989, 1990, Apple Computer, Inc. All rights reserved -- last modified 7:59 PM 11/13/90 ec -- on openStack set userModify to true end openStack on openCard if the short name of this cd = the short name of cd (number of last cd of this bg) then hide bg btn "next" else show bg btn "next" end if if the short name of this cd = the short name of cd (number of first cd of this bg) then hide bg btn "previous" else show bg btn "previous" end if pass openCard end openCard function clickLine -- returns line number clicked on of any field if the style of the target = "scrolling" then return ((item 2 of the clickLoc - top of target-4+scroll of target) div textheight of target) + 1 else -- clickLine for non scrolling fields return ((item 2 of the clickLoc - top of target - 4) div textheight of target) + 1 end if end clickLine function selectTheLine whichLine put line whichLine of target into choice if choice <> empty then get offset(return & choice,target) + 1 --include the carriage return select char it to length(choice) + it of target end if return choice end SelecttheLine function thisFolderPath -- returns the path to the current folder put stackPath() into stackFolder put "" into lastChar repeat until lastChar = ":" delete last character of stackFolder put last character of stackFolder into lastChar end repeat return stackFolder end thisFolderPath function thisVolumePath put thisStackPath() into wholePath return char 1 to offset(":",wholePath) of wholePath end thisVolumePath function thisStackPath return the value of word 2 of long name of this stack end thisStackPath on Import if rect of fld "description" ≠ "258,116,509,336" then ZoomField send "HideObjects" to this cd show bg fld "source" put FilePath("TEXT","Choose a file to import") into fName if fName = empty then exit Import go this cd put empty into bg fld "source" open file fName repeat read from file fName for 30000 if it = empty then exit repeat put SubstituteChar(tab, " ", it) after bg fld source end repeat show bg btn "source" close file fName end Import function SubstituteChar origChar, newChar, container --returns the given container with the original string --substituted in all cases for the given new str. repeat set cursor to busy put offset(origChar,container) into charPos if charPos = 0 then return container put newChar into char charPos of container end repeat end SubstituteChar on UpdateMenu -- update the menu on the first card set lockscreen to true set lockrecent to true set lockmessages to true put 0 into sourceCount put empty into theList go cd 1 of bg "examples" repeat with cdNdx = 1 to the number of cds in this bg set cursor to busy go cd cdNdx of this bg put the short name of this cd into theName if bg fld "source" ≠ empty then put " **" after theName add 1 to sourceCount end if put the number of cds of this bg into total put (the number of this cd - 1) into which put which & "/" & total into bg fld "card count" put theName & return after theList end repeat go cd 1 put theList into bg fld "list" put sourceCount unlock screen end UpdateMenu on CheckTitles -- scan throught the card title fields to make sure I haven't left any -- text in them (text is turned into bitmap to avoid ugly substituted -- text on systems without the proper font) lock screen set lockrecent to true set lockmessages to true put empty into theErrors go cd 1 of bg "examples" repeat with cdNdx = 1 to the number of cds in this bg set cursor to busy go cd cdNdx of this bg if bg fld "title" ≠ empty or bg fld "expl" ≠ empty then put the short id of this cd & "," after theErrors end repeat go cd 1 put theErrors unlock screen end CheckTitles